import { message as Message } from "ant-design-vue"
import router from '@/router'

const error = Message.error!
const success = Message.success!
export function checkStatus(status: number, msg: string, isShowMessage: boolean): void {
  switch (status) {
    case -10:
      if (router.currentRoute.value.name == 'login') return
      router.replace({
        name: 'login',
        query: {
          redirect: router.currentRoute.value.fullPath
        }
      })
      Message.destroy()
      localStorage.removeItem('isLogin')
      if (isShowMessage)
        error('登录身份已过期，请重新登录！')
      break
    case 1:
      if (isShowMessage)
        success(`${msg}`)
      break
    // case -2:
    //     if(isShowMessage)
    //         error('数据库错误！');
    //     break;
    // case -3:
    //     if(isShowMessage)
    //         error('记录不存在！');
    //     break;
    // case -4:
    //     if(isShowMessage)
    //         error('某些参数应该是单一的！');
    //     break;
    // case -5:
    //     if(isShowMessage)
    //         error('未知错误！');
    //     break;
    // case -6:
    //     if(isShowMessage)
    //         error('一些数据可能损坏！');
    //     break;
    // case -11:
    //     if(isShowMessage)
    //         error('服务器内部错误！');
    //     break;
    case 400:
      if (isShowMessage)
        error(`${msg}`)
      break
    // 401: 未登录
    // 未登录则跳转登录页面，并携带当前页面的路径
    // 在登录成功后返回当前页面，这一步需要在登录页操作。
    case 401:
      if (isShowMessage)
        error('用户没有权限（令牌、用户名、密码错误）!')
      // store.dispatch('user/loginOut', {
      //   goLogin: true,
      // });
      break
    case 403:
      if (isShowMessage)
        error('用户得到授权，但是访问是被禁止的。!')
      break
    // 404请求不存在
    case 404:
      if (isShowMessage)
        error('网络请求错误,未找到该资源!')
      break
    case 405:
      if (isShowMessage)
        error('网络请求错误,请求方法未允许!')
      break
    case 408:
      if (isShowMessage)
        error('网络请求超时!')
      break
    case 500:
      if (isShowMessage)
        error('服务器错误,请联系管理员!')
      break
    case 501:
      if (isShowMessage)
        error('网络未实现!')
      break
    case 502:
      if (isShowMessage)
        error('网络错误!')
      break
    case 503:
      if (isShowMessage)
        error('服务不可用，服务器暂时过载或维护!')
      break
    case 504:
      if (isShowMessage)
        error('网络超时!')
      break
    case 505:
      if (isShowMessage)
        error('http版本不支持该请求!')
      break
    default:
      if (isShowMessage && 0 > status)
        error(`${msg}`)
      break
  }
}
